#include "test.h"

#define TARGET_SIZE 1024*1024 // 模拟下载软件的大小
#define DSIZE 1024*10 // 模拟下载的速度

void download(callback_t cb)
{
    int target = TARGET_SIZE; // 软件总体积
    int total = 0; // 当前下载的大小

    while(total <= target)
    {
        usleep(STIME); // 用休眠时间，模拟下载时间
        total += DSIZE;
        double rate = total*100.0/target;
        if(rate > 50.0) total = target/2;
        cb(rate);
    }
    printf("\n");
}
//void download()
//{
//    int target = TARGET_SIZE; // 软件总体积
//    int total = 0; // 当前下载的大小
//
//    while(total < target)
//    {
//        usleep(STIME); // 用休眠时间，模拟下载时间
//        total += DSIZE;
//        process_v2(total*100/target);
//    }
//    printf("\n");
//}

int main()
{
    download(process_v3);
    return 0;
}
